package com.ruoyi.wechat.service.impl;

import java.util.List;

import com.ruoyi.common.utils.ConvertUtils;
import com.ruoyi.common.utils.uuid.IdUtils;
import com.ruoyi.wechat.domain.Project;
import com.ruoyi.wechat.domain.ScenicSpots;
import com.ruoyi.wechat.domain.WxScenicSpots;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.wechat.mapper.ProductMapper;
import com.ruoyi.wechat.domain.Product;
import com.ruoyi.wechat.service.IProductService;

/**
 * 商品超市Service业务层处理
 * 
 * @author ruoyi
 * @date 2024-12-24
 */
@Service
public class ProductServiceImpl implements IProductService 
{
    @Autowired
    private ProductMapper productMapper;

    /**
     * 查询商品超市
     * 
     * @param productId 商品超市主键
     * @return 商品超市
     */
    @Override
    public Product selectProductByProductId(String productId)
    {
        return productMapper.selectProductByProductId(productId);
    }

    /**
     * 根据营地Id查询该营地的所有周边景点
     * @param campId 营地Id
     * @return 该营地的周边景点列表
     */
    @Override
    public List<Product> getInfoByCampId(String campId) {
        //封装条件
        Product product = new Product();
        product.setCampId(campId);
        product.setApprove("1");
        //根据营地Id获取营地下的周边景点列表
        List<Product> list = productMapper.selectProductList(product);
        //数据类型转换
        if (list != null && list.size() > 0) {
            return ConvertUtils.sourceToTarget(list, Product.class);
        }
        return null;
    }

    /**
     * 查询商品超市列表
     * 
     * @param product 商品超市
     * @return 商品超市
     */
    @Override
    public List<Product> selectProductList(Product product)
    {
        return productMapper.selectProductList(product);
    }

    /**
     * 新增商品超市
     * 
     * @param product 商品超市
     * @return 结果
     */
    @Override
    public String insertProduct(Product product)
    {
        product.setProductId(IdUtils.randomUUID());
        productMapper.insertProduct(product);
        return product.getProductId();
    }

    /**
     * 修改商品超市
     * 
     * @param product 商品超市
     * @return 结果
     */
    @Override
    public int updateProduct(Product product)
    {
        return productMapper.updateProduct(product);
    }

    /**
     * 批量删除商品超市
     * 
     * @param productIds 需要删除的商品超市主键
     * @return 结果
     */
    @Override
    public int deleteProductByProductIds(String[] productIds)
    {
        return productMapper.deleteProductByProductIds(productIds);
    }

    /**
     * 删除商品超市信息
     * 
     * @param productId 商品超市主键
     * @return 结果
     */
    @Override
    public int deleteProductByProductId(String productId)
    {
        return productMapper.deleteProductByProductId(productId);
    }
}
